package com.blkj.iam.system.model.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * @description: 返回给前端展示菜单数据
 * @author: Ethan
 * @create: 2025-04-11
 **/
@Data
public class ShowPermissionVO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    private String name;
    private String component;
    private String path;
    private Long id;
    private String redirect;
    private String route;
    @JsonIgnore
    private Integer sort;
    private Meta meta;
    private List<ShowPermissionVO> children;

    @Data
    public static class Meta {
        private String title;
        private String componentName;
        @JsonIgnore
        private String icon;
        private Boolean internalOrExternal;
        private Boolean keepAlive;
    }
}

